<?php
/**
 * Cdn
 *
 * @category Jdcloud
 * @package  DragonJd\Cdn
 * @author   Jdcloud <jdcloud-api@jd.com>
 * @license  Apache-2.0 http://www.apache.org/licenses/LICENSE-2.0
 * @link     https://www.jdcloud.com/help/faq
 */

namespace DragonJd\Cdn;

use DragonJd\JdCloudClient;
use DragonJd\Api\Service;
use DragonJd\Api\DocModel;
use DragonJd\Api\ApiProvider;
use DragonJd\PresignUrlMiddleware;

/**
 * Client used to interact with cdn.
 *
 * @method \DragonJd\Result queryDomainsLog(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDomainsLogAsync(array $args = [])
 * @method \DragonJd\Result queryDomainsLogForJd(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDomainsLogForJdAsync(array $args = [])
 * @method \DragonJd\Result queryDomainLog(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDomainLogAsync(array $args = [])
 * @method \DragonJd\Result queryOnlineBillingType(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryOnlineBillingTypeAsync(array $args = [])
 * @method \DragonJd\Result setOnlineBillingType(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setOnlineBillingTypeAsync(array $args = [])
 * @method \DragonJd\Result setAuthConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setAuthConfigAsync(array $args = [])
 * @method \DragonJd\Result setSourceAuthConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setSourceAuthConfigAsync(array $args = [])
 * @method \DragonJd\Result queryBand(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryBandAsync(array $args = [])
 * @method \DragonJd\Result queryBandWithArea(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryBandWithAreaAsync(array $args = [])
 * @method \DragonJd\Result queryDomainConfigStatus(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDomainConfigStatusAsync(array $args = [])
 * @method \DragonJd\Result queryAreaIspList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryAreaIspListAsync(array $args = [])
 * @method \DragonJd\Result queryAreaIspListV2(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryAreaIspListV2Async(array $args = [])
 * @method \DragonJd\Result queryForbiddenInfoList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryForbiddenInfoListAsync(array $args = [])
 * @method \DragonJd\Result createForbiddenInfo(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createForbiddenInfoAsync(array $args = [])
 * @method \DragonJd\Result deleteForbiddenInfo(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteForbiddenInfoAsync(array $args = [])
 * @method \DragonJd\Result queryUnForbiddenStatus(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryUnForbiddenStatusAsync(array $args = [])
 * @method \DragonJd\Result queryForbiddenInfoListCommon(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryForbiddenInfoListCommonAsync(array $args = [])
 * @method \DragonJd\Result createForbiddenInfoCommon(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createForbiddenInfoCommonAsync(array $args = [])
 * @method \DragonJd\Result deleteForbiddenInfoCommon(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteForbiddenInfoCommonAsync(array $args = [])
 * @method \DragonJd\Result previewCertificate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise previewCertificateAsync(array $args = [])
 * @method \DragonJd\Result queryDefaultHttpHeaderKey(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDefaultHttpHeaderKeyAsync(array $args = [])
 * @method \DragonJd\Result queryIpBlackList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryIpBlackListAsync(array $args = [])
 * @method \DragonJd\Result setIpBlackList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setIpBlackListAsync(array $args = [])
 * @method \DragonJd\Result operateIpBlackList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise operateIpBlackListAsync(array $args = [])
 * @method \DragonJd\Result queryCustomErrorPage(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryCustomErrorPageAsync(array $args = [])
 * @method \DragonJd\Result setCustomErrorPage(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setCustomErrorPageAsync(array $args = [])
 * @method \DragonJd\Result createCacheRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createCacheRuleAsync(array $args = [])
 * @method \DragonJd\Result updateCacheRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateCacheRuleAsync(array $args = [])
 * @method \DragonJd\Result deleteCacheRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteCacheRuleAsync(array $args = [])
 * @method \DragonJd\Result setCacheRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setCacheRulesAsync(array $args = [])
 * @method \DragonJd\Result queryHttpHeader(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryHttpHeaderAsync(array $args = [])
 * @method \DragonJd\Result setHttpHeader(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setHttpHeaderAsync(array $args = [])
 * @method \DragonJd\Result deleteHttpHeader(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteHttpHeaderAsync(array $args = [])
 * @method \DragonJd\Result setVideoDraft(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setVideoDraftAsync(array $args = [])
 * @method \DragonJd\Result setRange(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setRangeAsync(array $args = [])
 * @method \DragonJd\Result setIgnoreQueryString(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setIgnoreQueryStringAsync(array $args = [])
 * @method \DragonJd\Result setFilterArgs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setFilterArgsAsync(array $args = [])
 * @method \DragonJd\Result queryFilterArgs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryFilterArgsAsync(array $args = [])
 * @method \DragonJd\Result queryUserAgent(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryUserAgentAsync(array $args = [])
 * @method \DragonJd\Result setUserAgentConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setUserAgentConfigAsync(array $args = [])
 * @method \DragonJd\Result queryAccesskeyConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryAccesskeyConfigAsync(array $args = [])
 * @method \DragonJd\Result setAccesskeyConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setAccesskeyConfigAsync(array $args = [])
 * @method \DragonJd\Result setRefer(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setReferAsync(array $args = [])
 * @method \DragonJd\Result queryMonitor(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryMonitorAsync(array $args = [])
 * @method \DragonJd\Result setMonitor(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setMonitorAsync(array $args = [])
 * @method \DragonJd\Result stopMonitor(array $args = [])
 * @method \GuzzleHttp\Promise\Promise stopMonitorAsync(array $args = [])
 * @method \DragonJd\Result setSource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setSourceAsync(array $args = [])
 * @method \DragonJd\Result operateShareCache(array $args = [])
 * @method \GuzzleHttp\Promise\Promise operateShareCacheAsync(array $args = [])
 * @method \DragonJd\Result setHttpType(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setHttpTypeAsync(array $args = [])
 * @method \DragonJd\Result queryFollowRedirect(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryFollowRedirectAsync(array $args = [])
 * @method \DragonJd\Result setFollowRedirect(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setFollowRedirectAsync(array $args = [])
 * @method \DragonJd\Result queryFollowSourceProtocol(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryFollowSourceProtocolAsync(array $args = [])
 * @method \DragonJd\Result setFollowSourceProtocol(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setFollowSourceProtocolAsync(array $args = [])
 * @method \DragonJd\Result setDomainConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setDomainConfigAsync(array $args = [])
 * @method \DragonJd\Result queryDomainAllConfigClassify(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDomainAllConfigClassifyAsync(array $args = [])
 * @method \DragonJd\Result executeDomainCopy(array $args = [])
 * @method \GuzzleHttp\Promise\Promise executeDomainCopyAsync(array $args = [])
 * @method \DragonJd\Result queryExtraCacheTime(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryExtraCacheTimeAsync(array $args = [])
 * @method \DragonJd\Result setExtraCacheTime(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setExtraCacheTimeAsync(array $args = [])
 * @method \DragonJd\Result deleteExtraCacheTime(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteExtraCacheTimeAsync(array $args = [])
 * @method \DragonJd\Result batchSetExtraCacheTime(array $args = [])
 * @method \GuzzleHttp\Promise\Promise batchSetExtraCacheTimeAsync(array $args = [])
 * @method \DragonJd\Result setGzip(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setGzipAsync(array $args = [])
 * @method \DragonJd\Result configBackSourceRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise configBackSourceRuleAsync(array $args = [])
 * @method \DragonJd\Result queryBackSourceRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryBackSourceRuleAsync(array $args = [])
 * @method \DragonJd\Result configUrlRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise configUrlRuleAsync(array $args = [])
 * @method \DragonJd\Result queryUrlRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryUrlRuleAsync(array $args = [])
 * @method \DragonJd\Result configHttp2(array $args = [])
 * @method \GuzzleHttp\Promise\Promise configHttp2Async(array $args = [])
 * @method \DragonJd\Result queryHttp2(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryHttp2Async(array $args = [])
 * @method \DragonJd\Result configBackSourcePath(array $args = [])
 * @method \GuzzleHttp\Promise\Promise configBackSourcePathAsync(array $args = [])
 * @method \DragonJd\Result queryBackSourcePath(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryBackSourcePathAsync(array $args = [])
 * @method \DragonJd\Result setAccelerateRegion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setAccelerateRegionAsync(array $args = [])
 * @method \DragonJd\Result configBackSourceRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise configBackSourceRulesAsync(array $args = [])
 * @method \DragonJd\Result queryBackSourceRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryBackSourceRulesAsync(array $args = [])
 * @method \DragonJd\Result configBackSourceOss(array $args = [])
 * @method \GuzzleHttp\Promise\Promise configBackSourceOssAsync(array $args = [])
 * @method \DragonJd\Result queryBackSourceOss(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryBackSourceOssAsync(array $args = [])
 * @method \DragonJd\Result speedLimit(array $args = [])
 * @method \GuzzleHttp\Promise\Promise speedLimitAsync(array $args = [])
 * @method \DragonJd\Result batchIpBlackList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise batchIpBlackListAsync(array $args = [])
 * @method \DragonJd\Result queryDomainGroupList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDomainGroupListAsync(array $args = [])
 * @method \DragonJd\Result queryDomainGroupDetail(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDomainGroupDetailAsync(array $args = [])
 * @method \DragonJd\Result queryDomainsNotInGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDomainsNotInGroupAsync(array $args = [])
 * @method \DragonJd\Result updateDomainGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDomainGroupAsync(array $args = [])
 * @method \DragonJd\Result createDomainGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDomainGroupAsync(array $args = [])
 * @method \DragonJd\Result batchDeleteDomainGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise batchDeleteDomainGroupAsync(array $args = [])
 * @method \DragonJd\Result getDomainList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getDomainListAsync(array $args = [])
 * @method \DragonJd\Result getDomainListByFilter(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getDomainListByFilterAsync(array $args = [])
 * @method \DragonJd\Result getDomainDetail(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getDomainDetailAsync(array $args = [])
 * @method \DragonJd\Result createDomain(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDomainAsync(array $args = [])
 * @method \DragonJd\Result deleteDomain(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDomainAsync(array $args = [])
 * @method \DragonJd\Result queryDomainCnameTag(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDomainCnameTagAsync(array $args = [])
 * @method \DragonJd\Result startDomain(array $args = [])
 * @method \GuzzleHttp\Promise\Promise startDomainAsync(array $args = [])
 * @method \DragonJd\Result stopDomain(array $args = [])
 * @method \GuzzleHttp\Promise\Promise stopDomainAsync(array $args = [])
 * @method \DragonJd\Result queryOssBuckets(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryOssBucketsAsync(array $args = [])
 * @method \DragonJd\Result batchCreate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise batchCreateAsync(array $args = [])
 * @method \DragonJd\Result queryDomainConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDomainConfigAsync(array $args = [])
 * @method \DragonJd\Result queryDomainTempInstList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDomainTempInstListAsync(array $args = [])
 * @method \DragonJd\Result queryDomainTempProKeys(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDomainTempProKeysAsync(array $args = [])
 * @method \DragonJd\Result modifyDomainTempInst(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyDomainTempInstAsync(array $args = [])
 * @method \DragonJd\Result queryDomainTempInst(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDomainTempInstAsync(array $args = [])
 * @method \DragonJd\Result delDomainTempInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise delDomainTempInstanceAsync(array $args = [])
 * @method \DragonJd\Result checkWhetherIpBelongToJCloud(array $args = [])
 * @method \GuzzleHttp\Promise\Promise checkWhetherIpBelongToJCloudAsync(array $args = [])
 * @method \DragonJd\Result queryServiceIp(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryServiceIpAsync(array $args = [])
 * @method \DragonJd\Result setLiveDomainBackSource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setLiveDomainBackSourceAsync(array $args = [])
 * @method \DragonJd\Result setLiveDomainIpBlackList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setLiveDomainIpBlackListAsync(array $args = [])
 * @method \DragonJd\Result setLiveDomainRefer(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setLiveDomainReferAsync(array $args = [])
 * @method \DragonJd\Result operateLiveDomainIpBlackList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise operateLiveDomainIpBlackListAsync(array $args = [])
 * @method \DragonJd\Result setLiveDomainBackSourceHost(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setLiveDomainBackSourceHostAsync(array $args = [])
 * @method \DragonJd\Result setLiveDomainAccessKey(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setLiveDomainAccessKeyAsync(array $args = [])
 * @method \DragonJd\Result setProtocolConvert(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setProtocolConvertAsync(array $args = [])
 * @method \DragonJd\Result deleteForbiddenStream(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteForbiddenStreamAsync(array $args = [])
 * @method \DragonJd\Result queryPushDomainORAppOrStream(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryPushDomainORAppOrStreamAsync(array $args = [])
 * @method \DragonJd\Result queryLiveDomainIpBlackWhiteList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryLiveDomainIpBlackWhiteListAsync(array $args = [])
 * @method \DragonJd\Result batchCreateLiveDomain(array $args = [])
 * @method \GuzzleHttp\Promise\Promise batchCreateLiveDomainAsync(array $args = [])
 * @method \DragonJd\Result queryLiveDomainDetail(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryLiveDomainDetailAsync(array $args = [])
 * @method \DragonJd\Result queryLiveDomainApps(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryLiveDomainAppsAsync(array $args = [])
 * @method \DragonJd\Result createLiveDomainPrefecthTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLiveDomainPrefecthTaskAsync(array $args = [])
 * @method \DragonJd\Result queryLivePrefetchTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryLivePrefetchTaskAsync(array $args = [])
 * @method \DragonJd\Result queryPinCanIPType(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryPinCanIPTypeAsync(array $args = [])
 * @method \DragonJd\Result batCreatePrefetchTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise batCreatePrefetchTaskAsync(array $args = [])
 * @method \DragonJd\Result updatePrefetchTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updatePrefetchTaskAsync(array $args = [])
 * @method \DragonJd\Result queryPrefetchTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryPrefetchTaskAsync(array $args = [])
 * @method \DragonJd\Result stopPrefetchTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise stopPrefetchTaskAsync(array $args = [])
 * @method \DragonJd\Result operatePurgeTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise operatePurgeTaskAsync(array $args = [])
 * @method \DragonJd\Result queryPurgeTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryPurgeTaskAsync(array $args = [])
 * @method \DragonJd\Result queryCdnUserQuota(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryCdnUserQuotaAsync(array $args = [])
 * @method \DragonJd\Result queryRefreshTaskByIds(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryRefreshTaskByIdsAsync(array $args = [])
 * @method \DragonJd\Result setRefreshLimit(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setRefreshLimitAsync(array $args = [])
 * @method \DragonJd\Result queryRefreshLimit(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryRefreshLimitAsync(array $args = [])
 * @method \DragonJd\Result queryRefreshTaskById(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryRefreshTaskByIdAsync(array $args = [])
 * @method \DragonJd\Result createRefreshTaskForCallback(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createRefreshTaskForCallbackAsync(array $args = [])
 * @method \DragonJd\Result createRefreshTaskForCallbackV2(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createRefreshTaskForCallbackV2Async(array $args = [])
 * @method \DragonJd\Result queryRefreshTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryRefreshTaskAsync(array $args = [])
 * @method \DragonJd\Result createRefreshTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createRefreshTaskAsync(array $args = [])
 * @method \DragonJd\Result queryNetProtectionRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryNetProtectionRulesAsync(array $args = [])
 * @method \DragonJd\Result setNetProtectionRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setNetProtectionRulesAsync(array $args = [])
 * @method \DragonJd\Result queryNetProtectionRulesSwitch(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryNetProtectionRulesSwitchAsync(array $args = [])
 * @method \DragonJd\Result setNetProtectionRulesSwitch(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setNetProtectionRulesSwitchAsync(array $args = [])
 * @method \DragonJd\Result queryGeoAreas(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryGeoAreasAsync(array $args = [])
 * @method \DragonJd\Result queryAttackTypeCount(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryAttackTypeCountAsync(array $args = [])
 * @method \DragonJd\Result queryDdosGraph(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDdosGraphAsync(array $args = [])
 * @method \DragonJd\Result searchAttackLog(array $args = [])
 * @method \GuzzleHttp\Promise\Promise searchAttackLogAsync(array $args = [])
 * @method \DragonJd\Result getAllUpperNodeIpList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getAllUpperNodeIpListAsync(array $args = [])
 * @method \DragonJd\Result configServiceNotice(array $args = [])
 * @method \GuzzleHttp\Promise\Promise configServiceNoticeAsync(array $args = [])
 * @method \DragonJd\Result queryServiceNotice(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryServiceNoticeAsync(array $args = [])
 * @method \DragonJd\Result getSslCertList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getSslCertListAsync(array $args = [])
 * @method \DragonJd\Result getSslCertDetail(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getSslCertDetailAsync(array $args = [])
 * @method \DragonJd\Result uploadCert(array $args = [])
 * @method \GuzzleHttp\Promise\Promise uploadCertAsync(array $args = [])
 * @method \DragonJd\Result queryMixStatisticsData(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryMixStatisticsDataAsync(array $args = [])
 * @method \DragonJd\Result queryMixStatisticsWithAreaData(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryMixStatisticsWithAreaDataAsync(array $args = [])
 * @method \DragonJd\Result queryMixTrafficGroupSum(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryMixTrafficGroupSumAsync(array $args = [])
 * @method \DragonJd\Result queryStatisticsData(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryStatisticsDataAsync(array $args = [])
 * @method \DragonJd\Result queryStatisticsDataGroupByArea(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryStatisticsDataGroupByAreaAsync(array $args = [])
 * @method \DragonJd\Result queryStatisticsDataGroupSum(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryStatisticsDataGroupSumAsync(array $args = [])
 * @method \DragonJd\Result queryLiveStatisticsData(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryLiveStatisticsDataAsync(array $args = [])
 * @method \DragonJd\Result queryLiveStatisticsAreaDataGroupBy(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryLiveStatisticsAreaDataGroupByAsync(array $args = [])
 * @method \DragonJd\Result queryLiveTrafficGroupSum(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryLiveTrafficGroupSumAsync(array $args = [])
 * @method \DragonJd\Result queryStatisticsTopIp(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryStatisticsTopIpAsync(array $args = [])
 * @method \DragonJd\Result queryStatisticsTopUrl(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryStatisticsTopUrlAsync(array $args = [])
 * @method \DragonJd\Result queryDirBandwidth(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDirBandwidthAsync(array $args = [])
 * @method \DragonJd\Result queryDirStatsData(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDirStatsDataAsync(array $args = [])
 * @method \DragonJd\Result queryCustomizedDirBandWidth(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryCustomizedDirBandWidthAsync(array $args = [])
 * @method \DragonJd\Result queryStreamInfo(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryStreamInfoAsync(array $args = [])
 * @method \DragonJd\Result queryAvgBandwidthForPCdn(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryAvgBandwidthForPCdnAsync(array $args = [])
 * @method \DragonJd\Result queryDeviceStatusForPCdn(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryDeviceStatusForPCdnAsync(array $args = [])
 * @method \DragonJd\Result queryJDBoxStatisticsData(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryJDBoxStatisticsDataAsync(array $args = [])
 * @method \DragonJd\Result queryJDBoxStatisticsDataWithGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryJDBoxStatisticsDataWithGroupAsync(array $args = [])
 * @method \DragonJd\Result queryJBoxAvgBandwidth(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryJBoxAvgBandwidthAsync(array $args = [])
 * @method \DragonJd\Result queryWafSwitch(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryWafSwitchAsync(array $args = [])
 * @method \DragonJd\Result setWafSwitch(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setWafSwitchAsync(array $args = [])
 * @method \DragonJd\Result queryWafWhiteRuleSwitch(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryWafWhiteRuleSwitchAsync(array $args = [])
 * @method \DragonJd\Result setWafWhiteRuleSwitch(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setWafWhiteRuleSwitchAsync(array $args = [])
 * @method \DragonJd\Result querywafWhiteRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise querywafWhiteRulesAsync(array $args = [])
 * @method \DragonJd\Result createWafWhiteRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createWafWhiteRuleAsync(array $args = [])
 * @method \DragonJd\Result updateWafWhiteRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateWafWhiteRuleAsync(array $args = [])
 * @method \DragonJd\Result enableWafWhiteRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise enableWafWhiteRulesAsync(array $args = [])
 * @method \DragonJd\Result disableWafWhiteRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise disableWafWhiteRulesAsync(array $args = [])
 * @method \DragonJd\Result deleteWafWhiteRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteWafWhiteRulesAsync(array $args = [])
 * @method \DragonJd\Result queryWafBlackRuleSwitch(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryWafBlackRuleSwitchAsync(array $args = [])
 * @method \DragonJd\Result setWafBlackRuleSwitch(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setWafBlackRuleSwitchAsync(array $args = [])
 * @method \DragonJd\Result querywafBlackRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise querywafBlackRulesAsync(array $args = [])
 * @method \DragonJd\Result createWafBlackRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createWafBlackRuleAsync(array $args = [])
 * @method \DragonJd\Result updateWafBlackRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateWafBlackRuleAsync(array $args = [])
 * @method \DragonJd\Result enableWafBlackRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise enableWafBlackRulesAsync(array $args = [])
 * @method \DragonJd\Result disableWafBlackRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise disableWafBlackRulesAsync(array $args = [])
 * @method \DragonJd\Result deleteWafBlackRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteWafBlackRulesAsync(array $args = [])
 * @method \DragonJd\Result queryCCProtectSwitch(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryCCProtectSwitchAsync(array $args = [])
 * @method \DragonJd\Result setCCProtectSwitch(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setCCProtectSwitchAsync(array $args = [])
 * @method \DragonJd\Result queryCCProtectRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryCCProtectRulesAsync(array $args = [])
 * @method \DragonJd\Result createCCProtectRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createCCProtectRuleAsync(array $args = [])
 * @method \DragonJd\Result updateCCProtectRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateCCProtectRuleAsync(array $args = [])
 * @method \DragonJd\Result enableCCProtectRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise enableCCProtectRuleAsync(array $args = [])
 * @method \DragonJd\Result disableCCProtectRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise disableCCProtectRuleAsync(array $args = [])
 * @method \DragonJd\Result deleteCCProtectRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteCCProtectRuleAsync(array $args = [])
 * @method \DragonJd\Result queryWebProtectSwitch(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryWebProtectSwitchAsync(array $args = [])
 * @method \DragonJd\Result setWebProtectSwitch(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setWebProtectSwitchAsync(array $args = [])
 * @method \DragonJd\Result queryWebProtectSettings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryWebProtectSettingsAsync(array $args = [])
 * @method \DragonJd\Result updateWebProtectSettings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateWebProtectSettingsAsync(array $args = [])
 * @method \DragonJd\Result queryWafRegions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryWafRegionsAsync(array $args = [])
 * @method \DragonJd\Result queryIpBlackSettingStatus(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryIpBlackSettingStatusAsync(array $args = [])
 * @method \DragonJd\Result wafQueryPvForAreaAndIp(array $args = [])
 * @method \GuzzleHttp\Promise\Promise wafQueryPvForAreaAndIpAsync(array $args = [])
 * @method \DragonJd\Result wafQueryPv(array $args = [])
 * @method \GuzzleHttp\Promise\Promise wafQueryPvAsync(array $args = [])
 * @method \DragonJd\Result wafQueryAttackDetails(array $args = [])
 * @method \GuzzleHttp\Promise\Promise wafQueryAttackDetailsAsync(array $args = [])
 */
class CdnClient extends JdCloudClient
{
    public function __construct(array $args)
    {
        $args['with_resolved'] = function (array $args) {
            $this->getHandlerList()->appendInit(
                PresignUrlMiddleware::wrap(
                    $this,
                    $args['endpoint_provider'],
                    [
                        'operations' => [
                        ],
                        'service' => 'cdn',
                        'presign_param' => 'PresignedUrl',
                    ]
                ),
                'cdn'
            );
        };

        parent::__construct($args);
    }
}